<?php
function merge(&$array,$s,$m,$e){
    $tempArray=$array;
    $i=$s;
    $j=$m+1;
    $k=$i;
    while($i<=$m&&$j<=$e){
        if($tempArray[$i]<$tempArray[$j]){
            $array[$k++]=$tempArray[$i++];
        }else{
            $array[$k++]=$tempArray[$j++];
        }
    }

    while($i<=$m){
        $array[$k++]=$tempArray[$i++];
    }

    while($j<=$e){
        $array[$k++]=$tempArray[$j++];
    }
}


function mergeSort(&$array,$s,$e){
    if($s<$e){
        $m=floor(($s+$e)/2);//有坑
        mergeSort($array,$s,$m);
        mergeSort($array,$m+1,$e);
        merge($array,$s,$m,$e);
    }
    return;
}


function Msort(&$array){
    mergeSort($array,0,count($array)-1);
}

$array=array(3,5,8,6,4,0,7,9,1,2);
Msort($array);
print_r($array);

?>